package com.object.oriented.concept;

/**
 * 三大特征之多态
 * 不同主体类对同一个动作给出不同的实现方式，多态也是Java描述设计模式的常用手段，最直接的作用就是程序解耦。
 */
public class Concept03 {
    public static void main(String[] args) {
        Animal animalDog = new Dog();
        Animal animalCat = new Cat();
        animalDog.voice();
        animalCat.voice();
    }
}
class Animal {
    public void voice () {
        System.out.println("Animal ... voice");
    }
}
class Dog extends Animal {
    @Override
    public void voice() {
        System.out.println("Dog ... Wang wang");
    }
}
class Cat extends Animal {
    @Override
    public void voice() {
        System.out.println("Cat ... Meow meow");
    }
}